TOP

ينضم SQL

SQL JOIN

يتم استخدام التعبير JOIN لربط الصفوف من جدولين أو أكثر بناءً على عمود مرتبط بينهما.


دعونا نلقي نظرة على نموذج من الجدول "Orders" ("الطلبات"):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

ثم انظر إلى النموذج من الجدول "Customers" ("العملاء"):

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

لاحظ أن العمود "CustomerID" في الجدول "Orders" يشير إلى "CustomerID" في الجدول "Customers". العلاقة بين الجدولين أعلاه هي العمود "CustomerID".

يمكننا بعد ذلك إنشاء عبارة SQL التالية (التي تحتوي على INNER JOIN) التي تحدد السجلات التي لها قيم متطابقة في كلا الجدولين:

Run SQLSELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID

وهذا سوف ينتج شيئا مثل هذا:

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados1996-09-18
10365Antonio Moreno Taquería1996-11-27
10355Around the Horn1996-11-15
10383Around the Horn1996-12-16
10289B's Beverages1996-08-26

أنواع مختلفة من SQL JOIN

فيما يلي الأنواع المختلفة لـ JOIN في SQL:

  • (INNER) JOIN: إرجاع السجلات التي تحتوي على قيم متطابقة في كلا الجدولين
  • LEFT (OUTER) JOIN: إرجاع كافة السجلات من الجدول الأيسر والسجلات المقابلة من الجدول الأيمن
  • RIGHT (OUTER) JOIN: إرجاع كافة السجلات من الجدول الأيمن ومطابقة السجلات من الجدول الأيسر
  • FULL (OUTER) JOIN: إرجاع جميع السجلات إذا كان هناك تطابق في الجدول الأيسر أو الأيمن


  • SQL INNER JOIN  SQL LEFT JOIN  SQL RIGHT JOIN  SQL FULL OUTER JOIN